vim 手册

vim在normal模式下简单命令

  • iInsert 模式,按 ESC 回到 Normal 模式.
  • x 删当前光标所在的一个字符。
  • :wq 存盘 + 退出 (:w 存盘, :q 退出) (:w 后可以跟文件名)
  • dd 删除当前行,并把删除的行存到剪贴板里
  • p 粘贴剪贴板
  • hjkl 你也可以使用光标键 (←↓↑→). 注: j 就像下箭头
  • help <command> 显示相关命令的帮助。你也可以就输入 :help 而不跟命令

插入

  • a 在光标后插入
  • o 在当前行后插入一个新行
  • O 在当前行前插入一个新行
  • `cw → 替换从光标所在位置后到一个单词结尾的字符

移动光标

  • 0数字零,到行头
  • ^ 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)
  • $ 到本行行尾
  • g_ 到本行最后一个不是blank字符的位置。
  • /pattern 搜索 pattern 的字符串(陈皓注:如果搜索出多个匹配,可按n键到下一个)

拷贝/粘贴

  • P 粘贴 p/P都可以,p是表示在当前位置之后,P表示在当前位置之前
  • yy 拷贝当前行当行于 ddP

撤销/撤回

  • u 撤销
  • <C-r> 撤回

打开/保存/退出/改变文件

  • e <path/to/file> 打开一个文件
  • w 存盘
  • saveas <path/to/file>另存为 <path/to/file>
  • xZZ:wq 保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)
  • :q!退出不保存 :qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。
  • :bn:bp 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(陈皓注:我喜欢使用:n到下一个文件)

其他

  • . (小数点) 可以重复上一次的命令
  • N<command> 重复某个命令N次
  • NG 到第 N 行
  • gg到第一行
  • G 到最后一行
  • w 到下一个单词的开头
  • e 到下一个单词的结尾
  • % 匹配括号移动,包括 (, {, [.
  • *# 匹配光标当前所在的单词,移动光标到(*是下一个,#是上一个)
  • 0 到行头
  • ^ 到本行的第一个非blank字符
  • $ 到行尾
  • g_ 到本行最后一个不是blank字符的位置。
  • fa 到下一个为a的字符处,你也可以fs到下一个为s的字符。
  • t, 到逗号前的第一个字符。逗号可以变成其它字符。
  • 3fa 在当前行查找第三个出现的a。
  • FTft 一样,只不过是相反方向
  • dt" 删除所有的内容,直到遇到双引号—— “